This invention relates to programmable logic devices (“PLDs”), and more particularly to equipping PLDs with adaptive equalization capability.
PLDs are typically general-purpose integrated circuit devices that are designed to satisfy any of a wide range of user needs. The user does not have to design his or her own custom integrated circuit, subjecting himself or herself to the cost, delay, possible errors, and inflexibility of such a custom design. Instead, the user can immediately buy a commercially available, already proven PLD and program (configure) that device to perform whatever tasks the user needs to have performed. The PLD manufacturer does not know in advance all the details of all the uses various users may want to make of the PLD. But to give the PLD a reasonably large market to many different users (thereby helping to hold down the cost of the PLD by taking advantages of economies of scale), the manufacturer generally tries to equip a PLD with as many capabilities as is reasonably possible within a broad target range of features for that particular PLD. Each user can then make use of the capabilities or features that the user needs and ignore the other capabilities or features.
PLDs are increasingly of interest for use in communication applications, especially those involving high speed data transmission. There are many different communication protocols and specifications that may be used (e.g., for communicating between devices in a system). If equipped with appropriate communication-supporting features, PLDs offer the possibility of being programmable to function in accordance with many different communication protocols and specifications.
Certain high speed communication protocols may require the receiver circuitry to provide equalization of the received signal (e.g., to compensate for such things as attenuation and/or phase shift of the signal in the course of transmission from the transmitter to the receiver). Any of several approaches may be taken to providing required equalization, and within each approach, different parameter values may need to be used, depending on the nature and extent of equalization that is called for. Moreover, because it is rarely the case that the exact amount of equalization that will be needed in a particular system or in a particular instance of a system will be known a priori, it is frequently desirable for the equalization capability that is provided to be “adaptive” (i.e., to be able to at least partly determine on an automatic or at least partly automatic basis the kind and/or amount of equalization needed in whatever instance is being served). It would be desirable to provide a PLD with circuitry that can meet a wide range of equalization needs such as are referred to above.